Applying Object-Oriented Techniques in Embedded Software Design

نویسندگان

  • Sumithra Bhakthavatsalam
  • Stephen H. Edwards
چکیده

Efficiency is a major concern for real-time systems. Realtime software is often written in assembly or other low level languages like C. Programmers hesitate to use newer objectoriented techniques since these are perceived as less efficient. This work explores the OO design techniques for embedded operating system, taking into account real-time goals so that the design is efficient and meets system deadlines. The embedded system kernel being designed is based on Dataflow Architecture. This architecture, which supports asynchronous communication amongst the various components through communication channels, was chosen since it addresses the objectives of modularity, standardization and reusability of Power Electronics Building Block (PEBB) systems, by the use of Elementary Control Objects (ECOs). An ECO is a functional entity in the PEBB system that can be used independent of the system details, in a variety of systems. It thereby serves as a modular, standardized and reusable component. An entity like the ECO comes across as ideal to be modeled and implemented as an object; i.e., using the OO approach. More over, since the advantages of objectorientation are in line with our objectives of modularity, standardization and reusability, it is ideal to implement the system as an object-oriented one. For instance, an ECO can be represented by a class. If this class is used to represent the general attributes and certain generic functions of all ECOs, then we can inherit specific types of ECOs from this class, that differ in their implementation code due to their functional differences. The ECOs are connected with each other to form the required PEBB system, and communicate with each other through communication channels, known as Data Channels since they carry data between ECOs to facilitate inter-ECO data flows. The Data Channels are also represented by classes. Data Channel objects differ in their type based on the type of data that they carry. ECOs operate based on Firing Rules. A firing rule is a set of priority firing masks, each of which defines one of the possibilities that will cause an ECO to “fire” or begin operation. A firing mask is a bit pattern that has bits set in positions corresponding to input data channels that need to have data for the ECO to fire and a priority firing mask is the combination of a firing mask and an integer priority representing the priority that the ECO will acquire when it gets triggered by that mask. The paper discusses the design of the object-oriented kernel and comparisons of the C version of the kernel (DARK – Dataflow Architecture Real-time Kernel) and its C++ version, DARK++. The following section gives an insight into the performance problems that object-oriented systems pose and the reasons for them. Section III describes the OO design of DARK++. Section 1V does a comparison of the C and the C++ kernels. The paper concludes with the most important lessons learnt so far from the research and a brief note on the future work.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques

Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...

متن کامل

Streamlined PURE Systems?

Embedded and especially deeply embedded systems tend to offer extremely limited resources. Until now, this means a massive barrier for applying approved object-oriented design principles and abstractions to related operating systems. In this paper, the reasons are discussed why object orientation left on its own will burst the given limits. It is also suggested in brief how to improve the creat...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Mastering Software Patterns in C++

Tim DeBruine works as a Senior Software Engineer at SmartPatents, Inc., the world’s leading provider of analytical software tools for intellectual property management. Tim has spent several years applying object-oriented techniques in a wide variety of domains, including embedded systems, Webbased applications, client/server applications, electronic commerce, and real-time graphics. Mr. DeBruin...

متن کامل

On Attributes of Objects in Object-Oriented Software Analysis

One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...

متن کامل

DESC: A Hardware-Software Codesign Methodology for Distributed Embedded Systems

The hardware-software codesign of distributed embedded systems is a more challenging task, because each phase of codesign, such as copartitioning, cosynthesis, cosimulation, and coverification must consider the physical restrictions imposed by the distributed characteristics of such systems. Distributed systems often contain several similar parts for which design reuse techniques can be applied...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002